package org.ping.Container;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

import org.ping.Tool.LogUtil;
import org.ping.news.GetNews;

/**
 * 这是一个监听器
 * 主要是为了初始化数据。现在的功能如下：
 * 1.启动定时线程，获取新闻列表
 * 	
 */
@WebListener
public class MyServletContextListener implements ServletContextListener {
 
    @Override
    public void contextInitialized(ServletContextEvent sce) {
    	LogUtil.getLogUtil(this).showlog("监听器开始运行！");
    	
    	//定时器线程
    	ScheduledExecutorService service = Executors.newScheduledThreadPool(1);  
        //每隔一小时，爬取一次新闻
        service.scheduleAtFixedRate(new GetNews(), 0, 1,TimeUnit.HOURS); 
    	
    }
    
    
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
    	LogUtil.getLogUtil(this).showlog("监听器结束运行");
    }
}
